/*
 * SoftwareSAR - 1.0
 */
package br.com.cpqd.ssar.utilitarias;

import java.awt.Color;
import java.util.Vector;

/**
 * Classe que Encapsula Todas as Propriedades da Fontes Eletromagnéticas
 * @author Carlos Henrique da Silva Santos
 * @version 1.0
 */
public class FonteEletromagnetica {

    /*
     * Determina o ID da fonte eletromagnética
     */
    private int idFonte;
    /**
     * Determine Electric or Magnetic source (e or h)
     */
    private String name;
    /**
     * Determine Electric or Magnetic source (e or h)
     */
    private String electricOrMagnetic;
    /**
     * typeName of electromagnetic source (Gaussian)
     */
    private int idType;
    /**
     * Determine the Electromagnetic source direction
     */
    private String direction;
    /**
     * Color: R G B
     */
    private Color color;
    /**
     * Extra-Parameters of each source typeName
     */
    private Vector parameters;

    /**
     * Método Construtor
     */
    public FonteEletromagnetica() {
    }

    /**
     * Método Construtor
     * @param em char typeName String coord int[] parameters double[]
     */
    FonteEletromagnetica(int idFonte, String name, String em, int idType, String direction,
            Vector parameters, Color color) {
        this.idFonte = idFonte;
        this.name = name;
        this.electricOrMagnetic = em;
        this.direction = direction;
        this.idType = idType;
        this.parameters = parameters;
        this.color = color;
    }

    /**
     * Método para informar o nome da Fonte
     * @param value String
     */
    public void setName(String value) {
        this.name = value;
    }

    /**
     * Método setEM
     * @param value char
     */
    public void setField(String value) {
        this.electricOrMagnetic = value;
    }

    /**
     * Método settypeName
     * @param value String
     */
    public void setIdType(int value) {
        this.idType = value;
    }

    /**
     * Método setDirection
     * @param value String
     */
    public void setDirection(String value) {
        this.direction = value;
    }

    /**
     * Método setParameters
     * @param value int
     */
    public void setParameters(Vector value) {
        this.parameters = value;
    }

    /**
     * Método setColor
     * @param value int[]
     */
    public void setColor(Color value) {
        this.color = value;
    }

    /**
     * Método setId
     * @param value int
     */
    public void setIdFonte(int value) {
        this.idFonte = value;
    }

    /**
     * Método getIdFonte retorna a chave identificadora da fonte eletromagnética do usuario
     * @return id int
     */
    public int getIdFonte() {
        return this.idFonte;
    }

    /**
     * Get electromagnetic source name
     * @return the value of parameters
     */
    public String getName() {
        return this.name;
    }

    /**
     * Get typeName
     * @return Electromagnetic source typeName
     */
    public int getIdType() {
        return this.idType;
    }

    /**
     * Get E or H
     * @return get Electric or Magnetic typeName
     */
    public String getField() {
        return this.electricOrMagnetic;
    }

    /**
     * Get Extra-Parameters
     * @return get parameters from each source typeName
     */
    public Vector getParameters() {
        return this.parameters;
    }

    /**
     * Get Color
     * @return get color
     */
    public Color getColor() {
        return this.color;
    }

    /**
     * Get Direction
     * @return get direction
     */
    public String getDirection() {
        return this.direction;
    }

    /**
     * Nome do objeto para aparecer na lista
     * @return String
     */
    @Override
    public String toString() {
        return this.name;
    }
}
